<?php
/** @name : Session.php - @author : theerasak.p - @since : 21 �.�. 2554 1:17:47 - @encoding : UTF-8 */

class Session
{
	/**
	 * @method เปิดเพื่อใช้งาน Session (ต้องไว้ก่อนการแสดงผลข้อมูลทุกๆ อย่าง )
	 * @param ไม่มี
	 * @return ไม่มี
	 * * @example Session::open();
	 */
	public static function open()
	{
		if($_SESSION == false)
		{
			@session_start();
		}
	}

	/**
	 * @method ตั้งค่าตัวแปร Session
	 * @uses ต้อง Session::open ก่อนการใช้งาน Session
	 * @param var=ชื่อตัวแปรที่ต้องการจะตั้ง, value=ค่าที่ต้องการตั้งค่าให้กับตัวแปร Session นี้
	 * @return ไม่มี
	 * @example Session::set("username","kook");
	 */
	public static function set($var,$value)
	{
		$_SESSION[$var] = $value;
	}

	/**
	 * @method ดึงข้อมูลที่เคยได้ทำการตั้งค่าไว้
	 * @uses ต้อง Session::open ก่อนการใช้งาน Session
	 * @param var=ชื่อตัวแปรที่ต้องการจะดึงข้อมูล
	 * @return ค่าข้อมูลจาก Session
	 * @example Session::get("username");
	 */
	public static function get($var)
	{
		if(isset($_SESSION[$var]))
		{
			return $_SESSION[$var];
		}

		return null;
	}

	/**
	 * @method เคลียยร์ค่าตัวแปร Session
	 * @uses ต้อง Session::open ก่อนการใช้งาน Session
	 * @param var=ชื่อตัวแปรที่ต้องการล้างค่า
	 * @return ไม่มี
	 * @example Session::clear("username");
	 */
	public static function clear($var_name)
	{
		if(isset($_SESSION[$var_name]))
		{
			unset($_SESSION[$var_name]);
		}

	}

	/**
	 * @method ตรวจสอบว่ามีข้อมูลตัวแปรนี้ใน Session หรือไม่
	 * @uses ต้อง Session::open ก่อนการใช้งาน Session
	 * @param var=ชื่อตัวแปรที่ต้องการตรวจสอบ
	 * @return boolean(true,false) = หากเป็น true แปลว่าพบข้อมูลนี้ใน Session
	 * @example Session::check("username");
	 */
	public static function check($var_name)
	{
		if(isset($_SESSION[$var_name]))
		{
			return true;
		}
			
		return false;
	}

	/**
	 * @method เคลียร์ค่่าที่อยู่ใน Session ทั้งหมด
	 * @uses ต้อง Session::open ก่อนการใช้งาน Session
	 * @param ไม่มี
	 * @return ไม่มี
	 * @example Session::clearAll();
	 */
	public static function clearAll()
	{
		session_destroy();
	}
}
?>